package br.ufc.persistencia.Util;

import java.util.ArrayList;
import java.util.List;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

import br.ufc.persistencia.model.Orgao;

public class InterpretadorOrgaoSAX extends DefaultHandler{
	private Orgao orgao;
	private List<Orgao> ListOrgaos;
	private String temp;

	public Orgao getOrgao() {
		return orgao;
	}
	public void setOrgao(Orgao orgao) {
		this.orgao = orgao;
	}
	public List<Orgao> getListOrgaos() {
		return ListOrgaos;
	}
	public void setListOrgaos(List<Orgao> listOrgaos) {
		ListOrgaos = listOrgaos;
	}


	public InterpretadorOrgaoSAX() {
		super();
		ListOrgaos = new ArrayList<Orgao>();
	}


	public void startDocument() throws SAXException {
		// System.out.println("start document : ");
		
	}

	public void endDocument() throws SAXException {
		// System.out.println("end document  : ");
	}

	public void startElement(String uri, String localName, String qName,
			Attributes attributes) throws SAXException {
		if (qName.equalsIgnoreCase("orgaos")) {
			orgao = new Orgao();
		}
	}

	public void characters(char[] buffer, int start, int length)
			throws SAXException {
		temp = new String(buffer, start, length);
		// System.out.println(temp);
	}

	public void endElement(String uri, String localName, String qName)
			throws SAXException {
		if (qName.equals("orgaos")) {
			ListOrgaos.add(orgao);
		}else if ("nome_orgao".equals(qName)) {
			orgao.setNome_orgao(temp);
		} else if ("codigo_orgao".equals(qName)) {
			orgao.setCodigo_orgao(temp);
		} else if (qName.equals("exercicio_orcamento")) {
			orgao.setExecicio_orcamento(temp);
		}else if (qName.equals("codigo_tipo_unidade")) {
			orgao.setCodigo_tipo_unidade(temp);
		}else if (qName.equals("codigo_municipio")) {
			orgao.setCodigo_municipio(temp);
		}else if (qName.equals("cgc_orgao")) {
			orgao.setCgc_orgao(temp);
		}
	}

}
